#include<bits/stdc++.h>
using namespace std;
typedef long long LL;

int n,m,t;
LL arr[6][6];
int die[6][6];
const int dr[]={-1,-1,-1,0,0,1,1,1};
const int dc[]={-1,0,1,-1,1,-1,0,1};
LL ans;

void dfs(int num,LL cur)
{
	if(num==n*m) {
		ans=max(ans,cur);
		return;
	}
	int r=num/m;
	int c=num%m;
	
	if(die[r][c]>=0)
	{
		for(int i=0;i<8;i++)
		{
			int r1=r+dr[i];
			int c1=c+dc[i];
			if(r1<0||c1<0||r1>=n||c1>=m) continue;
			die[r1][c1]--;
		}
		dfs(num+1,cur+arr[r][c]);
		for(int i=0;i<8;i++)
		{
			int r1=r+dr[i];
			int c1=c+dc[i];
			if(r1<0||c1<0||r1>=n||c1>=m) continue;
			die[r1][c1]++;
		}
	}
	dfs(num+1,cur);
}

int main()
{
	scanf("%d",&t);
	for(int i=0;i<t;i++)
	{
		scanf("%d%d",&n,&m);
		ans=0;
		for(int j=0;j<n;j++)
		{
			for(int k=0;k<m;k++)
			{
				scanf("%lld",&arr[j][k]);
			}
		}
		memset(die,0,sizeof(die));
		dfs(0,0);
		printf("%lld\n",ans);
//		for(int j=0;j<n;j++)
//		{
//			for(int k=0;k<m;k++)
//			{
//				if(die[j][k]>=0) printf("%d %d\n",j,k);
//			}
//		}
	}
	return 0;
}
